import { getUserInfoApi } from '@/api'
import { ref, onMounted, getCurrentInstance } from 'vue'
// 功能1 初始化页面
export function useFetchUserInfo () {
  const userInfo = ref({})
  async function getUserInfo () {
    const { data } = await getUserInfoApi()
    userInfo.value = data
  }
  // 2. 执行生命周期函数
  onMounted(() => {
    // 这里的逻辑就是在组件完成渲染之后自动执行
    // console.log('mounted执行了1')
    getUserInfo()
  })
  return {
    userInfo
  }
}
// 功能二 退出登录
export function useLoginOut () {
  // 获取到当前组件实例 相当于this
  const componentInstance = getCurrentInstance().proxy
  function loginOut () {
    componentInstance.$dialog.confirm({
      title: '退出登录',
      message: '确认要退出登录吗？'
    }).then(() => {
      // 清除本地数据
      componentInstance.$store.commit('removeToken')
      // 跳转到登录
      componentInstance.$router.push('/login')
    })
  }
  return {
    loginOut
  }
}
